#include<bits/stdc++.h>
using namespace std;
map<string,int> v;
int n;
bool check(char s[]){
	int a=-1,b=-1,c=-1,d=-1,e=-1;
	int t=sscanf(s,"%d.%d.%d.%d:%d",&a,&b,&c,&d,&e);
	if(t!=5) return 0;
	if(a<0||a>255) return 0;
	if(b<0||b>255) return 0;
	if(c<0||c>255) return 0;
	if(d<0||d>255) return 0;
	if(e<0||e>65535) return 0;
	char s2[500];
	sprintf(s2,"%d.%d.%d.%d:%d",a,b,c,d,e);
	int lens=strlen(s);
	bool ok=0;
	for(int i=0;i<lens;i++){
		if(s[i]==s2[i]) ok=1;
		else{
			ok=0;
			break;
		}
	}
	return ok;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		char a[10],b[500];
		cin>>a>>b;
		string t(b);
		if(a[0]=='S'){
			if(!check(b)) cout<<"ERR"<<endl;
			else if(v.count(t)!=0) cout<<"FAIL"<<endl;
			else{
				cout<<"OK"<<endl;
				v[t]=i;
			}
		}
		else{
			if(!check(b)) cout<<"ERR"<<endl;
			else if(v.count(t)==0) cout<<"FAIL"<<endl;
			else cout<<v[b]<<endl;
		}
	}
}
